The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
The term “Web services” describes a standardized way of integrating Web-based applications using the XML, SOAP, and WSDL standards over a networking protocol. XML is used to tag the data, SOAP specifies how to encode a Web service request and response into an XML message, and WSDL is used for describing the services available. Web services are used for programmatic and networked entities to communicate with each other, regardless of the platform for their implementation. Because many such entities are business-related, Web services allow businesses to communicate data without intimate knowledge of each other's IT systems behind a firewall.
Web services share business logic, data, and processes through a programmatic interface across a network. Web services allow different applications from different sources to communicate with each other without time-consuming custom coding. And, where those communications are in XML, Web services are not tied to any one operating system or programming language. For example, Java can talk with Python and Windows applications can talk with UNIX applications.
Web Services specifications compose together to provide interoperable protocols for security, reliable messaging, and transactions in loosely coupled systems. Web Services specifications include both approved standards (e.g. by the World Wide Web Consortium (W3C) and the Organization for the Advancement of Structured Information Standards (OASIS)) and proposed documents and drafts that may become standards.
One approach for providing multiple services that take advantage of Web Services specifications is through a multi-functional peripheral (MFP). Such services may include printing, copying, faxing, scanning, and archiving. Each service may be provided by a Web Service Application (WSA) running on the MFP.
However, a WSA may generate a large amount of event notifications whenever an MFP completes a job. One possible example of an MFP that may generate numerous event notifications is a high speed printer/scanner/copier. In an office or corporate environment, it is not unlikely to have hundreds or even thousands of PC clients sharing one large MFP. It is possible that each client may be a subscriber to all the job events the MFP is capable of generating. These job events include but are not limited to notifying a specific user that their print job is completed. In such a case, for every job event, the WSA would generate and send a unique event notification for every PC client subscribed.
Each MFP may put out numerous notifications in a short amount of time. These notifications vary in type, size, time to process, and require various components of an MFP. Such an environment would create and send hundreds or thousands of notifications. That could easily overwhelm the resources available to the printer/scanner/copier, or any other typical MFP, and also cause too much network traffic. Thus, it would be helpful to provide an MFP with a mechanism for reducing the amount of these notifications.